package org.biubiu0002.baiblog.im.constants;

/**
 * 消息协议常量定义
 * @Author: biubiu0002
 * @Date: 2022/9/2 15:52
 **/
public class MessageConstants {
    private MessageConstants(){}

    /**
     * 心跳检测
     */
    public static final String PING = "ping";
    /**
     * 心跳响应
     */
    public static final String PONG = "pong";

    public static final String GROUP_CREATED_MSG="您已创建群聊，可以开始聊天了。";

    /**
     * 消息类型码，目前只有三类
     */
    public static class MessageType{
        private MessageType(){}
        /**
         * 请求
         */
        public static final int REQUEST = 1;
        /**
         * 响应
         */
        public static final int RESPONSE = 2;
        /**
         * 通知
         */
        public static final int NOTIFICATION = 3;
    }

    /**
     * 消息功能码，在Request请求，Notify通知中的type进行标识。
     */
    public static class MessageCommandType{
        private MessageCommandType(){}
        //私聊消息
        public static final int PRIVATE_MESSAGE = 1;
        //群聊消息
        public static final int GROUP_MESSAGE = 2;
        public static final int NOTIFY_MESSAGE = 3;

        /**
         * 群聊创建通知
         */
        public static final int GROUP_CREATED_MESSAGE=20;
        //加入群聊通知
        public static final int GROUP_JOINED_MESSAGE=21;
        //群聊名称修改
        public static final int GROUP_TITLE_CHANGED_MESSAGE=22;
        //群公告修改
        public static final int GROUP_ANNOUNCEMENT_CHANGED_MESSAGE=23;

    }

    /**
     * 消息响应码，在Response响应中的type进行标识。
     */
    public static class MessageResponseType{
        private MessageResponseType(){}
        //ACK确认
        public static final int ACK=1;
        //数据响应
        public static final int DATA=2;
    }

    /**
     * 会话角色
     */
    public static class MessageSessionRoleType{
        private MessageSessionRoleType(){}
        public static final int PRIVATE_CHAT=1;
        public static final int GROUP_CHAT=2;

    }

}
